/*
Copyright (C) 2022-2024 Inspur Corp. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0
*/
package model

type PresentationResponse struct {
	RequestId string `json:"requestId"`
}

// PresentationInfo VP列表接口返回数据
type PresentationInfo struct {
	PresentationId   string `json:"presentationId"`
	PresentationName string `json:"presentationName"`
	CredentialName   string `json:"credentialName"`
	IssuerName       string `json:"issuerName"`
	IssuanceDate     string `json:"issuanceDate"`
}

type PresentationDetail struct {
	Presentation *Presentation `json:"presentation"`
	TxId         string        `json:"txId"`
}

type Presentation struct {
	Context              []string          `json:"@context"`
	Id                   string            `json:"id"`
	Type                 string            `json:"type"`
	VerifiableCredential *Credential       `json:"verifiableCredential"`
	AdditionalInfo       map[string]string `json:"additionalInfo"`
	Proof                VpProof           `json:"proof"`
}

type VpProof struct {
	Type               string `json:"type"`
	Created            string `json:"created"`
	ProofPurpose       string `json:"proofPurpose"`
	VerificationMethod string `json:"verificationMethod"`
	Challenge          string `json:"challenge"`
	Domain             string `json:"domain"`
	ProofValue         string `json:"proofValue"`
}
